unit UContasReceberCt;

interface

uses UContasReceberMd, UContasReceberDb, Classes, SysUtils, DB, Forms, URequestContasReceber;

type
   TContasReceberCt = class(TObject)

      private
         aObjContasReceberMd : TContasReceberMd;
         aObjContasReceberDb : TContasReceberDb;

      public
         constructor Create;
         destructor Destroy;

         function inserirValorContasReceber(req : TRequestContasReceber) : Boolean;
         function inserirContasReceber : Boolean;
         function alterarContasReceber : Boolean;
         function excluirContasReceber(req : TRequestContasReceber) : Boolean;
         function procurarContasReceber(req : TRequestContasReceber) : Boolean;
         function receberContasReceber(req : TRequestContasReceber) : Boolean;
         function obterContasReceber : TContasReceberMd;
         function obterListaContasReceber(Param : String) : TList; Overload;
         function obterListaContasReceber : TDataSet; Overload;
end;

implementation

uses DBGrids, FContasReceberFt;

constructor TContasReceberCt.Create;
begin
  inherited;
    self.aObjContasReceberMd := TContasReceberMd.Create;
    self.aObjContasReceberDb := TContasReceberDb.Create;
end;

destructor TContasReceberCt.Destroy;
begin
    self.aObjContasReceberMd.Destroy;
    self.aObjContasReceberDb.Destroy;
  inherited;
end;

function TContasReceberCt.inserirValorContasReceber(req : TRequestContasReceber) : Boolean;
begin
   if (req.acao = 'inserir') then
      self.aObjContasReceberMd.setIdContasReceber(
        self.aObjContasReceberDb.obterObjPersistenciaSQL.obterCodigo('receber'))
   else
      self.aObjContasReceberMd.setIdContasReceber(req.id_contasreceber);

   self.aObjContasReceberMd.setDataRecebimento(req.data_recebimento);
   self.aObjContasReceberMd.setValor(req.valor);
   self.aObjContasReceberMd.setObservacoes(req.observacoes);

   result := true;
end;

function TContasReceberCt.inserirContasReceber : Boolean;
var
  retorno : Boolean;
begin
  retorno := false;
  if (self.aObjContasReceberDb.inserirContasReceber(self.aObjContasReceberMd)) then
    retorno := true;
  result := retorno;
end;

function TContasReceberCt.alterarContasReceber : Boolean;
begin
  if (self.aObjContasReceberMd <> nil) then
    self.aObjContasReceberDb.alterarContasReceber(self.aObjContasReceberMd);
end;

function TContasReceberCt.excluirContasReceber(req : TRequestContasReceber) : Boolean;
begin
  self.aObjContasReceberDb.excluirContasReceber(req.id_contasreceber);
end;

function TContasReceberCt.procurarContasReceber(req : TRequestContasReceber) : Boolean;
begin
  if ((IntToStr(req.id_contasreceber) <> '') and (req.id_contasreceber <> 0)) then
    self.aObjContasReceberMd :=
      self.aObjContasReceberDb.procurarContasReceber(req.id_contasreceber);
end;

function TContasReceberCt.obterContasReceber : TContasReceberMd;
begin
  result := self.aObjContasReceberMd;
end;

function TContasReceberCt.obterListaContasReceber : TDataSet;
begin
   try
      result := self.aObjContasReceberDb.obterListaContasReceber;
   except
      on e : Exception do
   end;
end;

function TContasReceberCt.obterListaContasReceber(Param : String) : TList;
begin
end;

function TContasReceberCt.receberContasReceber(req : TRequestContasReceber) : Boolean;
begin
  if ((IntToStr(req.id_contasreceber) <> '') and (req.id_contasreceber <> 0)) then
    self.aObjContasReceberDb.receberContasReceber(req.id_contasreceber);
end;

end.
